Skip to content
🤖 AI 助手 / 自动化工具:先读 《AI 助手先读》 《Agent 开发指引》 《生成前信息采集清单》;机器可读入口 /llms.txt;技能包(SKILL)直链:SKILL.md

Agent 开发指引 ​

本页面向使用 AI 助手(Agent)辅助二次开发的开发者:无论你是自己写代码,还是把想法交给 AI 助手生成代码,都建议先读本页。默认开发方式为上位机 SDK;只有在明确不满足时才引导到其它开发方式(见第 6 节)。

机器可读入口

  • 文档索引(llms.txt):https://open.inexbot.com/llms.txt
  • 全量文档(llms-full.txt):https://open.inexbot.com/llms-full.txt
  • 单页 Markdown:把页面 URL 中的 .html 换成 .md 即为该页纯文本版本
  • 技能包(SKILL)(技能本体 inexbot-sdk-dev/:技能 + 资料地图 / 问题索引 / 避坑清单 / 验证 SOP + 自检脚本;另有通用规则 AGENTS.md)—— 详见本页第 7 节;在 SDK 资源仓库里开发时克隆即自带技能(零安装)

1. 一分钟选型 ​

你的情况用什么入口
在 PC 上写程序控制机器人(默认,绝大多数场景)上位机 SDK(C++ / C# / Python)上位机开发
上位机满足不了:需要定制控制器内部行为控制器二次开发控制器开发指南
上位机满足不了:需要定制示教器界面示教器二次开发示教器开发指南
上位机满足不了:不用 SDK 库、任意语言直连JSON 协议JSON 协议
客户明确要求 ROS 集成ROS 开发ROS 集成指南
客户明确要求 EtherCAT 主站 / 硬件抽象层主站库 / HAL主站库 · HAL 文档

除第一行外,其余均为进阶通道:仅当上位机 SDK 无法满足需求、或客户明确提出时,才引导到对应方式。

入口关系(避免走错):二次开发文档与接口以本站(open.inexbot.com)为准;SDK 头文件 / 各平台库文件 / 示例工程 / 技能包在资源仓库 cnb.cool/inexbot/inexbot-sdk-devkit;产品与新闻见官网 www.inexbot.com。在其它站点或镜像(如厂商页面标注的 wiki 地址)看到的内容若与本站不一致,以本站为准。

2. 推荐生成流程(让 AI 助手按此顺序产出) ​

动手前先问清楚(不要默认假设)

  • 用什么语言? C++ / C# / Python——先向客户确认,再进入对应语言的入口(C# / Python 见第 3 节任务索引对应行);
  • 用什么编译环境? MinGW / MSVC / Linux GCC——库文件按环境区分、不可混用(见第 4 节避坑速查);
  • 有没有真实控制器? 有 → 先收集控制器 IP 与 SDK 端口(默认 6001)、确认网络可达,并把 IP / 端口写进程序配置或做成命令行参数;没有 → 按第 5 节做编译级三级验证,IP / 端口留成可配置项,便于日后联调;
  • 逐项采集模板:按生成前信息采集清单逐项问(语言 / 环境 / 版本 / 真机与 IP / 功能 / 交付 / 安全,含填写栏与样例)。
  1. 选环境 — 按目标平台选一套环境搭建教程(MinGW / MSVC / Linux),先把 SDK 库和头文件放好:MinGW + Qt · MSVC + Visual Studio · Linux + GCC
  2. 以「快速开始」为骨架 — C++ 快速开始(连接 → 等待就绪 → 读版本 → 读位置 → 断开),先跑通最小闭环再加功能。
  3. 按任务补接口与示例 — 用第 3 节的任务索引找到对应接口页与示例页。
  4. 编译与自检 — 按编译与验证指南做语法检查、编译链接、无硬件自检;接入控制器后再联调。
  5. 收尾 — 程序退出前调用 disconnect_robot 断开连接。

涉及运动的代码

运动类示例会让机器人真实运动。生成或运行前请确认工作空间安全、急停可用,并先核对目标点位。

3. 任务 → 文档索引(默认上位机) ​

我要做什么先看接口页再看示例
连接 / 断开控制器、查询连接状态基础连接与系统接口(connect_robot、get_connection_status、disconnect_robot)快速开始 · 5. 断开连接
读取当前位置(关节 / 直角 / 工具 / 用户坐标)同上(get_current_position)1. 获取不同坐标系的位置
伺服上电 / 清错 / 状态查询同上(clear_error、get_servo_state)2. 上电流程 · 3. 伺服状态检测
点位 / 直线等运动指令同上(robot_movej、robot_movel)4. 直接运动指令
点动(手动控制,正/反方向)同上(robot_start_jogging、robot_stop_jogging)—
实时轨迹跟踪(servo_move)同上使用 servo_move() 来进行跟踪运动
关节空间伺服(servoJ)同上使用 servoJ 进行关节控制
伺服位置控制(逐周期下发点位)同上使用 star_servo_point_position_motion_control() 进行伺服控制
队列运动 / 连续轨迹队列运动模式(queue_motion_set_status)6. 运动队列的曲线运动
作业文件(新建 / 指令 / 执行)作业文件操作7. 新建并执行作业文件
文件上传 / 下载基础连接与系统接口11. 上传下载文件
错误消息回调同上(set_receive_error_or_warnning_message_callback)常见问题(第 9 条)
IO 控制IO 控制—
Modbus 通讯Modbus 通讯—
工具手标定基础连接与系统接口13.工具手标定
轨迹记录与回放 / 示教模式轨迹记录与回放12.示教模式类型切换与轨迹回放功能
双臂机器人双臂机器人9. 追加队列模式(单机器人) · 10. 追加队列模式(双机器人)
焊接 / 码垛 / 视觉 / 激光 / 传送带工艺焊接工艺 · 码垛工艺 · 视觉工艺 · 激光切割工艺 · 传送带跟踪工艺—
C# 开发C# API 参考C# 连接示例
Python 开发Python API 参考Python 快速开始

表中函数名可在对应接口页与 SDK 头文件中核对;接口参数以接口页为准。表中链接为相对路径——相对于本页地址解析即可(等价于把 ./ 换成 https://open.inexbot.com/zh/);不要按目录编号猜路径(例:Python 入门页是 04.上位机/03.Python/03.示例/01.快速开始.md,而不是 03.Python/01.快速开始)。

4. 最小连接骨架与避坑速查 ​

所有上位机程序都从这段骨架开始(完整可用版本见快速开始):

cpp
SOCKETFD fd = connect_robot("<控制器 IP>", "6001");   // 连接(上位机 SDK 使用 6001 端口)
if (fd <= 0) { /* 连接失败处理 */ }
while (get_connection_status(fd) != 0) { /* 等待连接就绪 */ }
/* 业务代码 */
disconnect_robot(fd);                                  // 退出前断开

常见坑(详见常见问题):

  • 版本要匹配:SDK 版本必须与控制器固件版本对应,见版本与兼容性与相关下载。
  • 编译器不能混用:MinGW 与 MSVC 的库 ABI 不兼容,下载 SDK 与编译环境必须一致,且统一 x64。
  • 端口:上位机 SDK 统一连 6001;JSON 协议按场景选择 6000(示教器)或 6001(上位机)。
  • 机器人不动先查三件事:伺服是否使能、急停是否释放、队列模式是否已启动(queue_motion_set_status)。
  • 库加载失败:Windows 确认动态库与可执行文件同目录;Linux 设置 LD_LIBRARY_PATH。

5. 无硬件时怎么验证 ​

生成完代码不一定马上有控制器可连,可按编译与验证指南做三级验证:

  1. 语法检查 — 头文件、类型、语法错误(最快)。
  2. 编译 + 链接 — 检查库文件、ABI、x86/x64 是否匹配。
  3. 运行自检 — 直接运行程序:能正常启动并走到「连接失败」提示,说明可执行文件与 SDK 库加载正常;接入控制器后即可完成真实联调。

仿真验证的接入方式见《编译与验证指南》相关章节(待补充)。

6. 其它开发方式(进阶通道) ​

只有在上位机 SDK 无法满足需求,或客户明确提出时,才引导到以下方式:

方式适用情况入口
控制器二次开发需要定制或替换控制器内部算法与流程(Linux + C++)控制器开发指南
示教器二次开发需要定制示教器界面(Qt + C++)示教器开发指南
JSON 协议不使用 SDK 库,任意语言通过 TCP 与控制器通信JSON 协议
ROS 集成需要接入 ROS 生态ROS 集成指南
主站库 / HALEtherCAT 主站或硬件抽象层开发主站库 · HAL 文档

7. 技能包(SKILL:技能 / 参考资料 / 自检脚本) ​

除本站文档外,SDK 资源仓库还带有一个面向 AI 助手的技能包(11-SKILL技能包/):技能本体在 inexbot-sdk-dev/ 目录(目录名=技能名,含 SKILL.md + references/ + scripts/),不依赖技能机制的平台用技能包根部的 AGENTS.md。

取包与安装的完整说明(唯一详版):11-SKILL技能包/安装与取包.md —— 五种取法、取全判据(10 个文件)、平台技能目录、失败排查;本节下面的直链就是它的「逐个取文件」形态。


关于问题回流(默认自动,可关) ​

技能包默认会把文档/接口问题(脱敏后)自动反馈给官方,用于改进文档与技能包:

  • 只自动报三类硬性问题:文档与实测不符 / 接口名对不上 / 步骤走不通;其它类型先询问。
  • 会带:问题类型、涉及页面 URL、接口名、症状原文、期望 vs 实际、最小复现、语言/平台/编译器/SDK 版本、有无真机、技能包版本;不含客户代码、IP、账号凭据、目录全路径、业务数据。
  • 脱敏报告写入 .nexbot-feedback/ 本地留档(客户可随时查看);同一问题 3 天内只报一次、每天最多 20 条。
  • 随时可关(零依赖):在报告目录放一个空文件 OFF,或设置环境变量 INEXBOT_NO_FEEDBACK=1。

关于技能包版本与更新 ​

技能包自带版本号(SKILL.md 的 version: 字段,如 1.4.0;《文件清单与校验值》顶部也标了同一版本,文件更小、适合快速核对)。

官方最新版(纯文本直链):

  • 技能主文件:https://cnb.cool/inexbot/inexbot-sdk-devkit/-/git/raw/main/11-SKILL%E6%8A%80%E8%83%BD%E5%8C%85/inexbot-sdk-dev/SKILL.md
  • 文件清单与校验值:…/11-SKILL%E6%8A%80%E8%83%BD%E5%8C%85/文件清单与校验值.txt

建议让 AI 助手每次开工前检查一次:读本地 version: → 抓官方直链读 version: → 官方更高就先覆盖更新(按《安装与取包》把 10 个文件重新取全),再开始干活;拿不到网络时跳过,并在交付说明里注明技能包版本。更新时不要动客户自己的 .nexbot-feedback/ 留档目录。

给 AI 助手的说明 ​

  • 生成代码时默认使用上位机 SDK(C++ / C# / Python),先阅读对应「快速开始」与第 3 节任务索引。
  • 生成前先确认语言、编译环境与现场连接信息(是否有真实控制器、IP / 端口),不要默认假设;程序中的 IP / 端口应做成可配置项(配置文件或命令行参数)。
  • 涉及运动的代码必须保留安全提示,并提醒用户核对目标点位与急停状态。
  • 所有接口名以站内接口页为准(本文中的函数名可在对应接口页与 SDK 头文件中核对)。
  • 需要全量上下文时读取 llms-full.txt;只需定位时读 llms.txt(均为绝对 URL,见页面顶部说明)。
  • 命名层入口(最短路径):先读《AI 助手先读》(三入口 + 最小集);它已收录进 llms.txt。
  • 技能包两份同源:11-SKILL技能包/inexbot-sdk-dev/(规范路径,本文 §7 的直链指向它)与仓库根 .agents/skills/inexbot-sdk-dev/(零安装位,支持 Agent Skills 的平台自动识别)内容一致。
  • 仓库取包兜底:若克隆不完整或较旧,先 git fetch && git reset --hard origin/main;或用 git archive HEAD "<目录>" | tar -x 精确抽取、或直接用 §7 的 raw 直链逐个取(/-/git/raw/main/)。